package com.rimac.factelect.ejb.proxy;

import java.rmi.RemoteException;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.xml.rpc.ServiceException;

import pe.com.rimac.portal.common.ws.AbstractPortProxy;

import com.rimac.factelect.ejb.RetornoFacade;
import com.rimac.factelect.ejb.RetornoFacadeService;
import com.rimac.factelect.ejb.RetornoFacadeServiceLocator;
import com.rimac.factelecws.vo.ParametrosValidacionPersonaVO;
import com.rimac.factelecws.vo.PersonaContactoVO;
import com.rimac.factelecws.vo.RptaProcesoVO;

public class RetornoFacadeProxy extends AbstractPortProxy implements RetornoFacade
{
	@Override
	public String actualizarEstadosFE(String xmlParam) throws RemoteException
	{
		return ((RetornoFacade) getPort()).actualizarEstadosFE(xmlParam);
	}

	@Override
	public String funcionesRemotasFactElec(String xml) throws RemoteException
	{
		return ((RetornoFacade) getPort()).funcionesRemotasFactElec(xml);
	}

	@Override
	public RptaProcesoVO regContacto(PersonaContactoVO datosPersona) throws RemoteException
	{
		return ((RetornoFacade) getPort()).regContacto(datosPersona);
	}

	@Override
	public RptaProcesoVO validaExistePersona(ParametrosValidacionPersonaVO datosValidacion) throws RemoteException
	{
		return ((RetornoFacade) getPort()).validaExistePersona(datosValidacion);
	}

	@Override
	protected Object lookupJndi(InitialContext ctx) throws NamingException, ServiceException
	{
		return ((RetornoFacadeService) ctx.lookup("java:comp/env/service/RetornoFacadeService")).getRetornoFacade();
	}

	@Override
	protected Object lookupLocator() throws ServiceException
	{
		return new RetornoFacadeServiceLocator().getRetornoFacade();
	}
}